草庐IT

git 部分 pull

全部标签

git - 无法解析 docker 中的主机

我正在尝试在我的机器(Ubuntu)上的docker上做一个jenkins。我必须访问我公司的git存储库。但是在Jenkins,我得到这个错误:Couldnotresolvehost:gogs.mycompany.com我认为这是一个DNS错误,所以我尝试像那样启动我的docker(使用--dns和--dns-search)sudodockerrun-p8080:8080-p50000:50000-v/home/xero/jenkins:/var/jenkins_home--name=myproject-jenkins2--dns=127.0.1.1--dns-search=myco

go.mod 在修订时有 post-v0 模块路径 "git.example.com/owner/repo/v3"...?

在更新go.mod以具有/v3后缀(https://github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher)之前,我的同事推送了一个标签v3.0.1。我更新了模块路径(go.mod)和所有导入路径(*.go)来修复它,标记为v3.0.2。现在的问题是:goget-vgit.example.com/owner/repo@v3.0.2go:findinggit.example.com/owner/repov3.0.2go:git.example.com/owner/repo@v0.0.0-20190722053407

http - 如何在请求中转义正斜杠以使 url-routers 将其计为 uri 参数的一部分?

我使用gorilla/mux进行路由映射:router.Handle("/v1/data/{param}",handler)当我调用curlhttp://localhost:8080/v1/data/hello%2Fworld时,我得到了404响应代码。问题是,在我的微服务中,我想将/v1/data/之后的所有内容解释为param。捕获参数的代码如下:uriP:=mux.Vars(r)param:=uriP["param"]是否可以使用gorilla/mux实现此目的?或任何其他路由器? 最佳答案 您应该添加正则表达式,因为默认的正

git - 如何在不终止连接的情况下更新 docker web 应用程序?

我有一个docker-compose.yml,它有两个服务:一个数据库和我的Go应用程序。我的CI/CD管道调用托管此docker容器的服务器并运行此bash脚本:gitfetch&>/dev/nulldiffs=$(gitdiffmasterorigin/master)if[!-z"$diffs"]thenecho"PullingcodefromGitHub..."gitcheckoutmastergitpulloriginmaster#updateserverdocker-composeup--build-d#killallunuseddockercontainersdockers

go - 如何使用 go-git 查找 sha of origin/master?

我正在尝试使用go-git查找origin/master的SHA1,在我已经完成了与gitfetch--all等效的操作之后。然而,go-git似乎不支持:gitls-remotegit@github.com:StevenACoffman/toolbox.gitgitrev-parseorigin/master有没有其他方法可以使用go-git确定origin/master的SHA1? 最佳答案 糟糕!支持gitrev-parse!使用./main.go$PWDorigin/master执行以下命令:///usr/bin/envgo

git - 获取特定分支的标签

使用go-git:有没有办法只获取特定分支的(轻量级和带注释的)标签?因为我主要对master分支的标签感兴趣,像gittag--merged这样的东西也足够了。使用像Tags()这样的基本go-git方法似乎是不可能的...... 最佳答案 不完全是一个简短的解决方案,但以下代码通过以下方式实现了目标:读取整个分支的提交哈希值。读取存储库的所有标签。检查并只打印散列在分支中的标签。注意:尚未尝试使用带注释的标签。但应该很接近。packagemainimport("log""github.com/src-d/go-billy/mem

go - GC是否处理数组的未指向部分

假设我们以这种方式创建了一个slice:arr:=make([]byte,0,10)arr=append(arr,[]byte{1,1,1}...)然后我们要释放7个尾字节:arr=arr[:len(arr)]我们让slice的尾部无法到达。GC会在下一次扫描迭代中简单地声明此内存是免费的吗?或者底层数组会发生其他事情(例如copy(),内stub本不会被释放)? 最佳答案 Let'ssaythatwecreatedaslicethisway:arr:=make([]byte,0,10)arr=append(arr,[]byte{1

google-app-engine - Go AppEngine 重复部分执行 http.handler

funcinit(){http.HandleFunc("/",handler)}在处理程序函数中,有代码遍历数据列表、处理它并聚合结果。假设对于给定的查询,有100个项目需要处理。对于我向Appengine控制台写入日志的每个项目,“Itemnhasbeenprocessed”。问题是:请求没有返回。前40条左右的日志消息,然后重复,再重复。它总是停止相同的项目,然后重新启动。我最好的猜测是应用程序达到了内存限制或其他原因,而AppengineGo运行时只是重新启动并重新执行处理程序。对于一小部分项目,处理按预期进行,并且日志没有显示任何循环。请求日志中没有错误,但另一个日志显示:pa

git - 处理 Go Git 存储库及其非代码资源

我是Go的新手,我正在努力寻找处理Git存储库的最佳方法。目前我使用的是Go官方推荐的目录结构,但是我觉得它有很多坑。有点像$GOPATHbinnon-important-stuffpkgnon-important-stuffsrcgithub.comusernamereponame情况是我有很多非代码资源,比如默认设置文件、html模板和图像……但我觉得把它放在“src/github.com/username/reponame”中似乎有点奇怪目录(因为第一个“src”部分)。这个问题最常见的解决方案是什么?我现在面临的另一个问题是,我不知道最常用的“make”工具来构建带有外部资源(

go - 如何在 Go 中映射 X 的一部分?

我正在尝试使用launchpad.net/gommap来内存映射int32数组和其他一些自定义结构类型。我非常想在映射区域中的位置使用它们。gommap.Mmap类型是[]byte,我怎样才能使它的部分作为其他类型的slice可用? 最佳答案 你必须使用不安全的包。funcmapInt32(fduintptr,protgommap.ProtFlags,flagsgommap.MapFlags)([]int32,error){mmap,err:=gommap.Map(fd,prot,flags)iferr!=nil{returnnil